As different data processing devices, such as mobile phones, are made more complicated, the significance of device management becomes more important. Various settings are required in such devices, for instance settings associated with Internet access points, which are difficult and time-consuming to set manually. Device management solutions have been created in order to solve such problems. The device management solutions allow, for example, an operator of a company's information system or a teleoperator to provide the device with an appropriate configuration. Generally, device management refers to measures that enable external sources of the device to change the configuration of the device, for instance to change the settings or even the protocol the device employs. In addition to the settings associated merely with the device, user-specific data can also be sent, such as user profiles, logos, ringing tones and menus, which allow the user to personally modify the settings of the device or the modification is carried out automatically in connection with device management.
A device management standard is SyncML (Synchronization Markup Language) device management, which is partly based on SyncML data synchronization standard enabling data synchronization. A synchronization server may operate as a device management server and a customer device may operate as a device management client. As to the device management, the customer device functioning as the customer provides the management server performing device management in the starting message of the session with data about itself (the same data as during synchronization) to the server, the management server responding to the data by sending specific data and server management operations. The customer device responds with status information, whereafter the server may end the session or send more server management operations. If the server provides more management operations, the customer device should respond with status information. After receiving status information, the server may end the session or continue the session by providing more server management operations. The device management protocol may also operate so as to provide the user at first with questions about what he/she wants to update, the server then being informed about the choices of the user. The server may thereafter send the updates/operations desired by the user in the following packet.
The objects to be managed in a customer device are arranged as management objects. The management objects constitute of entities in the customer device, which are manageable using the management operations of the management server. A management object may be, for instance, a parameter value or a large entity, such as a wallpaper or screen saver. The management objects are arranged in the SyncML device management into a form resembling a tree in a management tree illustrated in FIG. 1. The management object may be an individual parameter, a sub-tree or a data collection. For example, a ‘Vendor’ management object is a node, or an interior object, since it is provided with child objects ‘Screen Saver’ and ‘Ringing Tones’. The management object ‘Screen Saver’ is a leaf object, since it has no child objects. The management object ‘Ringing Tones’ is also a node or an interior object, because it is provided with child objects. The contents of a management object may also include a link, which indicates another management object. Each object can be indicated using a URI identifier (Uniform Resource Identifier). The URI of the management object is formed starting from a root ‘/’ and as the process proceeds along the tree, each management object is provided with a name that is added to the previous ones using the letter ‘/’ as a distinguishing mark. For example, the management object ‘Ringing tones’ can be identified using the URI identifier ‘/Vendor/Ringing Tones/’. Preferably, at least some of the management objects are standardised (the SyncML device management standards currently include three standardised management objects). The management objects may be fixed or dynamic. Dynamic management objects may be added to the management tree from a customer device or management server.
The new dynamic management object must be indicated with a name (address) in the management tree so that the management tree is the same both in the management server and in the customer device. An example of a new management node is a document provided with WAP Provisioning Settings. A new management object can be formed of the document and the data elements included therein, and the management object is provided with new nodes or different settings as child objects. The WAP provisioning document is an XML-based (Extensible Markup Language) file, which comprises different parameter sets associated with the WAP provisioning settings that are consecutively listed. The WAP provisioning document may also comprise parameter sets, which may be mutually alternative, for example, several optional transfer servers or transmission path settings of the network level. In devices that do not employ a management system, the WAP provisioning document is stored as a single document, from which parameter values are read if need be.
What becomes a problem in devices that employ a management system is deassembling the WAP provisioning document and placing parameter sets included therein as well as attributes included therein as management objects into the above management tree. The attributes may be placed into the management tree in a completely different order than their mutual relations require. This is because the SyncML definition does not offer any means for determining the order of the parameter sets and the attributes included therein and for defining the mutual priority based on the WAP provisioning document. In the WAP provisioning document, the priority of the parameter sets and the attributes included therein is defined according to the order thereof. A need therefore arises for a method that determines for instance the priority order of mutually alternative parameter sets when such parameter sets are deassembled from the WAP provisioning document to the management tree.